package com.chinasofti.generic;

import java.util.ArrayList;

public class Type01 {
    public static void main(String[] args) {
        ArrayList<Integer > list1 = new ArrayList<>();
        ArrayList<String> list2 = new ArrayList<>();
        ArrayList<Number> list3 = new ArrayList<>();
        ArrayList<Object> list4 = new ArrayList<>();

        method(list1);
        method(list2);
        method(list3);
        method(list4);
        getElement(list1);
        //getElement(list2);
        getElement(list3);
        //getElement(list4);

        //getElement2(list1);
        //getElement2(list2);
        getElement2(list3);
        getElement2(list4);
    }
    //?
    public static  void method(ArrayList<?>list){}
    //上限 他表示类型是number或者其他子类
    public  static  void getElement(ArrayList<? extends  Number> list){}
    //下线 他表示类型是number或者父类
    public  static  void getElement2(ArrayList<? super  Number> list){}
}
